-- This module defines chassis MIBs for modular ScreenOS platforms
-- Copyright (c) 1999-2007, Juniper Networks, Inc.
-- All rights reserved.

NETSCREEN-CHASSIS-MIB DEFINITIONS ::= BEGIN
IMPORTS
    netscreen
        FROM NETSCREEN-SMI
    Integer32, IpAddress, MODULE-IDENTITY, OBJECT-TYPE
        FROM SNMPv2-SMI
    DisplayString
        FROM SNMPv2-TC
    ;

netscreenChassis MODULE-IDENTITY
    LAST-UPDATED  "200705080000Z" -- May 8, 2007 by mxk
    ORGANIZATION
        "Juniper Networks, Inc."
    CONTACT-INFO
        "Customer Support
         1194 North Mathilda Avenue 
         Sunnyvale, California 94089-1206
         USA
         Tel: 1-800-638-8296
         E-mail: customerservice@juniper.net
         HTTP://www.juniper.net"
    DESCRIPTION
        "This module defines the objects that are used to monitor 
        device status such as Battery, Fan, Power and Temperature"
    ::= { netscreen 21} 
 
    NsPowerEntry ::=
        SEQUENCE {
                nsPowerId           Integer32,
                nsPowerStatus       Integer32, 
                nsPowerDesc         DisplayString
    }
 
   nsPowerTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF NsPowerEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing installed power supply modules and 
           their status"
     ::= { netscreenChassis 1}

    nsPowerEntry OBJECT-TYPE
        SYNTAX   NsPowerEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing one power supply module and its status"
    INDEX { nsPowerId }
     ::= { nsPowerTable 1 }

    nsPowerId OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION  
                      "A 32-bit integer uniquely identifying the power supply
                id. For 5400, range is 1~3, For 5200, range is 1~2"
          ::= { nsPowerEntry 1 }
      
    nsPowerStatus OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A  32-bit  integer uniquely identifying the
           power supply module's status:
                        0. Fail
                        1. Good
                                2. Not installed"
    ::= { nsPowerEntry 2 }
        
    nsPowerDesc OBJECT-TYPE
        SYNTAX   DisplayString
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A description for the power supply module"
    ::= { nsPowerEntry 3 }

    NsFanEntry ::=
        SEQUENCE {
                nsFanId           Integer32,
                nsFanStatus       Integer32, 
                nsFanDesc         DisplayString
    }
        
    nsFanTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF NsFanEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing the installed Fan modules and their status"
     ::= { netscreenChassis 2}

    nsFanEntry OBJECT-TYPE
        SYNTAX   NsFanEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing one installed Fan module and its status"
    INDEX { nsFanId }
     ::= { nsFanTable 1 }

    nsFanId OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION  
                "A 32-bit integer uniquely identifying the Fan id. At the time of 
                this writing."
          ::= { nsFanEntry 1 }
      
    nsFanStatus OBJECT-TYPE
        SYNTAX   Integer32 
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A  32-bit integer uniquely identifying the
           Fan module's status:
                        0. Fail
                        1. Good
           "
    ::= { nsFanEntry 2 }
        
    nsFanDesc OBJECT-TYPE
        SYNTAX   DisplayString
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A description for the Fan module"
    ::= { nsFanEntry 3 }
           

    sysBatteryStatus OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Information describing the installed Battery and its status:
                      1. Good
                      2. Error
                      "
              ::= { netscreenChassis 3 }

    NsTemperatureEntry ::=
        SEQUENCE {
                nsTemperatureId         Integer32,     
                nsTemperatureSlotId       Integer32,     
                nsTemperatureDesc               DisplayString,
                nsTemperatureCur        Integer32,
    }
                
    nsTemperatureTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF NsTemperatureEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
           "Information describing the temperature measured by each module"
    ::= { netscreenChassis 4}

    nsTemperatureEntry OBJECT-TYPE
        SYNTAX   NsTemperatureEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "The temperature measured by a module"
    INDEX { nsTemperatureId }
     ::= { nsTemperatureTable 1 }
  
    nsTemperatureId OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION  
                "A 32-bit integer uniquely identifying temperature measured on a board or on a component e.g. CPU"
                ::= { nsTemperatureEntry 1 }
  
    nsTemperatureSlotId OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION  
                "A 32-bit integer uniquely identifying the slot where the temperature is measured. "
        ::= { nsTemperatureEntry 2 }
      
     nsTemperatureCur OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The current temperature measured by the module, unit is Celsius"
    ::= { nsTemperatureEntry 3 }
            
    nsTemperatureDesc OBJECT-TYPE
        SYNTAX   DisplayString
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A description for the module"
    ::= { nsTemperatureEntry 4 }
            

          NsSlotEntry ::= SEQUENCE {
                                nsSlotId              Integer32,
        nsSlotType              DisplayString,
        nsSlotStatus            Integer32,  
        nsSlotSN                DisplayString,  
    }

    nsSlotTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF NsSlotEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing the installed management and traffic 
           processing modules and their status, built-in and internal module are also listed here.
           "
      ::= { netscreenChassis 5}

    nsSlotEntry OBJECT-TYPE
        SYNTAX   NsSlotEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing one installed module and its status"
       INDEX { nsSlotId,
                                 nsSubSlotId }
       ::= { nsSlotTable 1 }

    nsSlotId OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A 32-bit integer uniquely identifying the slot id. The range 
           varies on different platforms "
      ::= { nsSlotEntry 1 }

    nsSlotType OBJECT-TYPE
        SYNTAX   DisplayString
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "A description of the installed module"
      ::= { nsSlotEntry 2 }

        nsSlotStatus OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "Slot status"
      ::= { nsSlotEntry 3 }

    nsSlotSN OBJECT-TYPE
        SYNTAX   DisplayString
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "Serial Number of the module"
      ::= { nsSlotEntry 4 }
     
END